package models

import (
	"time"

	"github.com/jinzhu/gorm"
)

type MindLikes struct {
	Id         int    `gorm:"column:id;primaryKey"`
	Acid       int    `gorm:"column:acid;uniqueIndex"` // 用户ID
	CreateTime int64  `gorm:"column:create_time"`      // 创建时间
	Status     int    `gorm:"column:status"`           // 修正字段标签错误
	MindId     string `gorm:"column:mind_id"`          // 思维导图ID
}

func SaveMindMapLike(like MindLikes) error {
	var existingLike MindLikes

	// 获取当前时间和10秒前的时间戳
	now := time.Now().Unix()
	tenSecondsAgo := now - 10

	// 查询10秒内是否有记录
	err := db.Where("acid = ? AND mind_id = ? AND create_time >= ?", like.Acid, like.MindId, tenSecondsAgo).First(&existingLike).Error
	if err != nil {
		if err == gorm.ErrRecordNotFound {
			// 10秒内无记录，创建新记录
			return db.Create(&like).Error
		}
		// 其他错误
		return err
	}

	return nil
}
